#include <bits/stdc++.h>
using namespace std;
using i64 = long long;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    int n, m;
    cin >> n >> m;
    vector<int> b(m);
    multiset<int> st;
    for(int i = 0; i < n; i++){
    	int t;
    	cin >> t;
    	st.insert(t);
    }

    for(int i = 0; i < m; i++){
    	cin >> b[i];
    }
    sort(b.begin(), b.end());

    i64 ans = 0;
    for(int i = 0; i < m; i++){
    	auto it = st.lower_bound(b[i]);
    	if(it == st.end()){
    		cout << -1;
    		return 0;
    	}
    	ans += *it;
    	st.erase(it);
    }
    cout << ans;
    return 0;
}
